<?php

class examplesController extends Controller {

    function __construct() {
        parent::__construct();
    }

    public function main() {

        $output = 'Este es el Controlador de ejemplos...';

        /*
         * Configuración de Vista
         */

        //se instancia una vista eligiendo una plantilla
        $view = new View(APP_DIR_LAYOUTS . '/main/mainLayout.html');
        $view->setLabel('content', $output);

        //insercion la vista configurada en el entorno principal
        $this->view->setLabel('content', (String) $view);
        $this->view->render();
    }
    
    public function textBox() {
        
        $textbox = new TextBox('textBox1');
        $textbox->setOnlyNumbers(TRUE);
        $textbox->setValue('1234');
        
        $output = $textbox;
        
        //se instancia una vista eligiendo una plantilla
        $view = new View(APP_DIR_LAYOUTS . '/main/mainLayout.html');
        $view->setLabel('content', $output);

        //insercion la vista configurada en el entorno principal
        $this->view->setLabel('content', (String) $view);
        $this->view->render();
        
    }
    
    public function select() {
        
        $select = new Select('select1');
        $select->addOption(new SelectOption('Opción 1', 1));
        $select->addOption(new SelectOption('Opción 2', 1));
        $select->addOption(new SelectOption('Opción 3', 1,TRUE));
        
        $output = $select;
        
        //se instancia una vista eligiendo una plantilla
        $view = new View(APP_DIR_LAYOUTS . '/main/mainLayout.html');
        $view->setLabel('content', $output);

        //insercion la vista configurada en el entorno principal
        $this->view->setLabel('content', (String) $view);
        $this->view->render();
    }
    
    public function table() {
        
        //instancia de tabla
        $table = new Table('table1');
        
        //instancia tr
        $row = new TableRow();
        //agrega td
        $row->addCell(NULL, 'Celda 1-1', 'background-color:gray');
        $row->addCell(NULL, 'Celda 1-2');
        $table->addRow($row);
        
        
        $button = new Button('boton');
        //recive evento javascript
        $button->setOnClick("location.href = '/main'");
        
        //instancia tr
        $row = new TableRow();
        //agrega td
        $row->addCell(NULL, $button->generate());
        $row->addCell(NULL, 'Celda 2-2');
        $table->addRow($row);
        
        $output = $table->generate();
        
        //se instancia una vista eligiendo una plantilla
        $view = new View(APP_DIR_LAYOUTS . '/main/mainLayout.html');
        $view->setLabel('content', $output);

        //insercion la vista configurada en el entorno principal
        $this->view->setLabel('content', (String) $view);
        $this->view->render();
    }
    
    public function form() {
        
        $form = new Form('ejemplo');
        $form->setAction('/examples/recibeForm/');
        
        //textbox
        $text = new TextBox('texto_ejemplo');
        $form->addElement('elemento 1', $text);
        
        $select = new Select('select_ejemplo');
        $select->addOption(new SelectOption('opcion 1', 1));
        $select->addOption(new SelectOption('opcion 2', 2));
        $form->addElement('elemento 2', $select);
        
        
        echo $form->generate();
    }
    
    public function recibeForm() {
        
        echo $_POST['texto_ejemplo'];
        
        
    }
    
}

?>
